package com.skiving.cloud.workflow.api;

import java.util.HashMap;
import java.util.Map;

/**
 * @author hushouquan
 * @since 2024/3/13
 */
public class TaskParam{
    /**
     * 任务id
     */
    private String taskId;
    /**
     * 流程定义编号
     */
    private String defKey;
    /**
     * 关联业务id
     */
    private String businessKey;
    /**
     * 租户ID
     */
    private String tenantId;
    /**
     * 审批结果
     */
    private String description;
    /**
     * 提交审批人
     */
    private String userId;
    /**
     * 审批意见
     */
    private String approveAdvice;
    /**
     * 指定下一节点审批人
     */
    private String approveUserId;
    /**
     * 流程摘要,业务发起流程传入
     */
    private String briefReport;
    /**
     * 当新发起流程时是否跳过第一个节点，默认跳过第一个节点，仅当taskId为空时有效
     */
    private boolean skipFirstNode = true;
    /**
     * 设置全局流程参数
     */
    private Map<String, Object> processVariables = new HashMap<>();
    /**
     * 设置流程任务参数
     */
    private Map<String, Object> taskVariables = new HashMap<>();
    /**
     * 动态表单数据
     */
    private Map<String, Object> formProperties;
    /**
     * 业务功能设计ID
     */
    private String businessDesignerId;
    /**
     * 业务功能设计编码
     */
    private String businessDesignerCode;
    public String getTaskId(){
        return taskId;
    }
    
    public void setTaskId(String taskId){
        this.taskId = taskId;
    }
    
    public String getDefKey(){
        return defKey;
    }
    
    public void setDefKey(String defKey){
        this.defKey = defKey;
    }
    
    public String getBusinessKey(){
        return businessKey;
    }
    
    public void setBusinessKey(String businessKey){
        this.businessKey = businessKey;
    }
    
    public String getTenantId(){
        return tenantId;
    }
    
    public void setTenantId(String tenantId){
        this.tenantId = tenantId;
    }
    
    public String getDescription(){
        return description;
    }
    
    public void setDescription(String description){
        this.description = description;
    }
    
    public String getUserId(){
        return userId;
    }
    
    public void setUserId(String userId){
        this.userId = userId;
    }
    
    public String getApproveAdvice(){
        return approveAdvice;
    }
    
    public void setApproveAdvice(String approveAdvice){
        this.approveAdvice = approveAdvice;
    }
    
    public String getApproveUserId(){
        return approveUserId;
    }
    
    public void setApproveUserId(String approveUserId){
        this.approveUserId = approveUserId;
    }
    
    public String getBriefReport(){
        return briefReport;
    }
    
    public void setBriefReport(String briefReport){
        this.briefReport = briefReport;
    }
    
    public boolean isSkipFirstNode(){
        return skipFirstNode;
    }
    
    public void setSkipFirstNode(boolean skipFirstNode){
        this.skipFirstNode = skipFirstNode;
    }
    
    public Map<String, Object> getProcessVariables(){
        return processVariables;
    }
    
    public void setProcessVariables(Map<String, Object> processVariables){
        this.processVariables = processVariables;
    }
    
    public Map<String, Object> getTaskVariables(){
        return taskVariables;
    }
    
    public void setTaskVariables(Map<String, Object> taskVariables){
        this.taskVariables = taskVariables;
    }
    
    public Map<String, Object> getFormProperties(){
        return formProperties;
    }
    
    public void setFormProperties(Map<String, Object> formProperties){
        this.formProperties = formProperties;
    }
    
    public String getBusinessDesignerId(){
        return businessDesignerId;
    }
    
    public void setBusinessDesignerId(String businessDesignerId){
        this.businessDesignerId = businessDesignerId;
    }
    
    public String getBusinessDesignerCode(){
        return businessDesignerCode;
    }
    
    public void setBusinessDesignerCode(String businessDesignerCode){
        this.businessDesignerCode = businessDesignerCode;
    }
}
